![]() |
|
|
If stavekLogični izrazi - razlagaČe hočemo dobro razumeti delovanje pogojnih stavkov, je dobro, da najprej
razumemo, kaj so logični izrazi. Logični izrazi
imajo lahko le dve vrednosti. Lahko so ali resnični
(v Pythonu to označujemo s
Poglejmo si nekaj primerov.
Tako vidimo, da ima vsak izmed izrazov lahko le eno izmed dveh vrednosti ( Prav tako pa vrednost
To znanje nam bo prišlo prav kasneje pri razumevanju pogojnih stavkov. Več logičnih izrazov oz. izrazov, ki predstavljajo logični vrednosti Poglejmo si nekaj primerov.
Vidimo da, naprimer operator Logični izrazi - nalogePoglejte si še naslednje primere in poskušajte razumeti, zakaj imajo izrazi take vrednosti, kot jih imajo. 1. podnalogaRazmislite, kakšno vrednost ima izraz in jo napišite pod izraz.
Uradna rešitev((3 == 3) and (4 != 5)) and (5 <= 4) True 2. podnalogaRazmislite, kakšno vrednost ima izraz in jo napišite pod izraz.
Uradna rešitevnot False True 3. podnalogaRazmislite, kakšno vrednost ima izraz in jo napišite pod izraz.
Uradna rešitev(not False and not False) and (True or False) True 4. podnalogaRazmislite, kakšno vrednost ima izraz in jo napišite pod izraz.
Uradna rešitev('a' in 'rabarbara') and isinstance(3, str)
False
5. podnalogaSestavite funkcijo Primer:
Uradna rešitevdef stevilo_vnukov(st):
"""Funkcija vrne True, če je število st enako 3, in False sicer."""
return st == 3
Pogojni stavek - razlagaV Pythonu pogojni stavek izgleda nekako takole:
Pogojni stavek delimo na dva bloka. Prvi blok z delom Poglejmo si primer. Vsak mesec dobimo
Ker v prvem primeru pogoj ni bil izpolnjen, se je izvedel drugi blok
ukazov in funkcija je vrnila niz Za pogojni stavek ni nujno, da vedno sestoji iz obeh blokov. Prvi blok je vedno obvezen, torej tisti del, kjer piše if in za tem pogoj, ter vsaj en ukaz, ki mu sledi, če je pogoj izpolnjen. Za drugi del ni nujno, da se pojavi. Tako lahko isto funkcijo napišemo na način, da nas opozori le, če je bilo nakazilo prenizko.
Pogojni stavek - naloge1. podnalogaNaslednja koda vsebuje, kar se zamikov tiče, cel kup napak.
Popravite napake! Stavkov samih ne spreminjajte, le njihove zamike. Popravki morajo biti taki, da so izpisi smiselni. Uradna rešitevx = int(input('x: '))
y = int(input('y: '))
if x == 3 and y == 4:
print("x je 3")
print("y je morda 4, vem pa ne")
if x > 2 and y < 5:
print("x > 2")
print("y < 5")
if x < 4 and y > 3:
print("x < 4")
print("y > 3")
2. podnalogaJanezek nabira gobe. Ker ga je babica dobro podučila, da se gob,
ki jih ne poznaš, ne nabira, nabira le jurčke in lisičke.
Jurčka lahko na tržnici proda za
Uradna rešitevdef cena_gob(vrsta, st):
"""Sprejme vrsto gobe in število gob ter vrne ceno vseh gob skupaj.
Če Janezek gobe ne pozna, funkcija vrne niz »Ne prodajaj!«."""
if (vrsta != 'jurcek') and (vrsta != 'lisicka'):
return 'Ne prodajaj!'
if vrsta == 'jurcek':
cena = 5
else:
cena = 1
return cena * st
3. podnalogaNapišite funkcijo
Uradna rešitevdef kaksno_st(st):
"""Sprejme število `st` in vrne niz 'sodo', če je število sodo, sicer pa niz 'liho'."""
if st % 2 == 0:
niz = 'sodo'
else:
niz = 'liho'
return niz
4. podnalogaUgodna sobna temperatura se giblje nekje med
Uradna rešitevdef temperatura(izmerjena):
"""Sprejme temperaturo izmerjena in vrne niz 'ugodna', če je
izmerjena med 22 in 24, sicer vrne niz 'neugodna'."""
if 22 <= izmerjena <= 24:
niz = 'ugodna'
else:
niz = 'neugodna'
return niz
Gnezdenje pogojnih stavkov - razlagaVčasih nas ne zanima le, če je goba lisička ali jurček. Babica je Janezka naučila
prepoznati še mušnico in veliki dežnik. Veliki dežniki stanejo
Kot lahko vidimo, se da znotraj enega pogojnega stavka uporabiti še drugega in tako naprej. Pri tem moramo biti še vseeno pozorni na pravilno zamikanje. Kar je znotraj enega bloka, mora biti zamaknjeno. Če se znotraj enega bloka pojavi nov blok, je ta ponovno še bolj zamaknjen. Ker pa se tak način pisanja pojavlja pogosto, se da gnezdenje pogojnih stavkov
napisati še na en način. Pri naslednji funkciji, ki dela enako kot prejšnja, bodite
pozorni na uporabo
Z uporabo Gnezdenje pogojnih stavkov - naloge1. podnalogaUgodna sobna temperatura se giblje nekje med
Uradna rešitevdef temperatura(izmerjena):
"""Sprejme temperaturo izmerjena in vrne niz 'ugodno', če je
temperatura med 22 in 24, niz 'prevroče', če je nad 24, in niz 'premrzlo',
če je temperatura pod 22-imi stopinjami."""
if izmerjena > 24:
niz = 'prevroče'
elif izmerjena >= 22:
niz = 'ugodno'
else:
niz = 'premrzlo'
return niz
2. podnalogaNapišite funkcijo
Uradna rešitevdef kaksno_st(st):
"""Sprejme število st in vrne niz '2 in 3', če je število deljivo s 6, ali
niz '2' če je deljivo samo z 2, ne pa tudi s 3, ali niz '3', če je deljivo
samo s 3, ne pa tudi z 2, sicer vrne '1'."""
if (st % 2 == 0) and (st % 3 == 0):
niz = '2 in 3'
elif st % 2 == 0:
niz = '2'
elif st % 3 == 0:
niz = '3'
else:
niz = '1'
return niz
Mesto objave ob koncu projekta 15.9.2018
|